import wxValidate from 'wxValidate/wxValidate'
const log = require('./log.js')
// require('./utils/tracker.min.js')({ token: "9c6d952f29769bcadcc703cd708435a7", behaviour: 9, optimisedForSPA: true, useHistory: true })
App({
  onLaunch: function (opt) {
    let _this = this
    wx.getSetting({ // 获取用户信息
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              Object.assign(_this.globalData.userInfo, res.userInfo)

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
    if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager()
      updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          updateManager.onUpdateReady(function () {
            wx.showModal({
              title: '更新提示',
              content: '新版本已经准备好，是否重启应用？',
              success: function (res) {
                if (res.confirm) {
                  // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate()
                }
              }
            })
          })
          updateManager.onUpdateFailed(function () {
            // 新的版本下载失败
            wx.showModal({
              title: '已经有新版本了哟~',
              content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~',
            })
          })
        }
      })
    } else {
      // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
      })
    }
  },
  onError:function(msg)
  {
    log.error(msg)
  },
  // 设置消息栏小红点
  setTabBarBadge(num) { /* 小红点 */
    if (num != 0) {
      wx.showTabBarRedDot({
        index: 2,
      })
    } else {
      wx.hideTabBarRedDot({
        index: 2,
      })
    }
  },
  getUserInfo() {
    let _this = this
    let getUserInfo = wx.getStorageSync("userInfo")

    wx.request({
      url: _this.globalData.baseUrl + '/WXaboutMe',
      data: {
        cluesOrStuId: getUserInfo.cluesOrStuId,
        type: getUserInfo.type
      },
      method: 'post',
      header: {
        'content-type': 'application/json'
      },
      success: function (res) {
        if (res.data.code == 0) {
          Object.assign(_this.globalData.userInfo, res.data.data.info)
        } else {
          Object.assign(_this.globalData.errorMsg, {
            code: "201",
            msg: "个人信息返回错误"
          })
        }
      }
    })
  },
  onTabItemTap(item) {
    // console.log(item)
  },
  wxValidate: (rules, messages) => new wxValidate(rules, messages),
  wxValidate1: (rules, messages) => new wxValidate(rules, messages),
  wxValidate2: (rules, messages) => new wxValidate(rules, messages),
  globalData: {
    userInfo: {},
    // baseUrl: 'http://192.168.2.32:8080',
    baseUrl: 'https://test.goktech.cn/api',
    // baseUrl: 'https://campus.yunmansk.com/api',
    // baseUrl: 'https://campus.goktech.cn/api',
    code: '',
    errorMsg: {
      code: "200",
      msg: 'OK'
    },
    chooseNewsMsg: true,
    timer: null,
    stopMoreClick: false
  },
  onShow:function(e){
  
  }
})